1. Field
The disclosure relates to a method, a system, and a computer program product for wear leveling of solid state disks based on usage information of data and parity received from a RAID controller.
2. Background
A solid state disk (SSD) may comprise a data storage device that uses solid state memory to store persistent digital data. Solid state disks may include flash memory or memory of other types. Solid state disks may be accessed much faster in comparison to electromechanically accessed data storage devices, such as, hard disks. Certain solid state disks can only be put through a limited number of erase cycles before becoming unreliable. Techniques exist for wear leveling and scrubbing to increase the endurance within solid state disks.
Redundant Array of Independent Disks (RAID) is a computer data storage scheme. In certain types of RAID implementations data and parity information may be written in stripes across a plurality of disks. In such RAID schemes one or more disks may fail without loss of data. For example, in an exemplary RAID-6 array, data and parity may be distributed across at least four disks and a RAID array that implements the RAID-6 scheme can recover from the failure of as many as two disks. RAID arrays may be formed from hard disks, solid state disks or from other types of storage media.
In Small Computer Systems Interface (SCSI) based storage operations, commands are sent via a Command Descriptor Block (CDB). Each CDB may be comprised of a fixed number of bytes, such as 10, 12, or 16 bytes. Variable-length CDBs may also be allowed in certain SCSI storage operations. CDBs may be comprised of a one byte operation code followed by certain command-specific parameters. SCSI based storage operations may be used in association with RAID based computer data storage schemes.